home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c-part1 / 6981 < prev    next >
Encoding:
Text File  |  1996-08-05  |  1.6 KB  |  44 lines

  1. Path: fohnix.metronet.com!not-for-mail
  2. From: milam@fohnix.metronet.com (Stan Milam)
  3. Newsgroups: comp.lang.c
  4. Subject: Re: Easiest way to center a string?
  5. Date: 16 Feb 1996 16:23:01 -0600
  6. Organization: Texas Metronet, Inc  (login info (214/488-2590 - 817/571-0400))
  7. Message-ID: <4g3045$k4@fohnix.metronet.com>
  8. References: <4fobka$1st@parlor.hiwaay.net>
  9. NNTP-Posting-Host: fohnix.metronet.com
  10. X-Newsreader: TIN [version 1.2 PL2]
  11.  
  12. foxworth@hiwaay.net wrote:
  13. :   I'm learning C, and one of my assignments requires that the output strings be
  14. : centered on the screen. Is there a simple way of doing this that I have overlooked?
  15.  
  16.  
  17. /**********************************************************************/
  18. /* File Id:                    centrstr.c.                            */
  19. /* Author:                     Stan Milam.                            */
  20. /* Description:                                                       */
  21. /*     The following is an example of how to center a string using    */
  22. /*     printf and sprintf.  It is just an example.  Send flames to    */
  23. /*     /dev/null.                                                     */
  24. /*                                                                    */
  25. /**********************************************************************/
  26.  
  27. #include <stdio.h>
  28. #include <stdlib.h>
  29. #include <string.h>
  30.  
  31. #define LINEWIDTH 80
  32. #define INDENT(string) ((strlen(string) + LINEWIDTH) / 2)
  33.  
  34. int main( void ) {
  35.  
  36.     char wrkbuf[100];
  37.     char string[] = "This is a sample string.";
  38.  
  39.     printf( "%*s\n", INDENT(string), string );
  40.     sprintf( wrkbuf, "%*s", INDENT(string), string );
  41.     puts( wrkbuf );
  42.     return EXIT_SUCCESS;
  43. }
  44.